The use of voice features embedded in Software applications by enterprises to interact with their customers and Software partners has become popular. Applications that range from push to talk web page features from customer support to automated appointment reminders are leveraging VoIP technologies. The programmer writing such Software applications are specialized in their type of application software, but are usually not experts in telephony protocols.
In common VoIP deployments, multiple sites of an enterprise are located at different locations. Sites range in size from a small network where there are only a few employees and minimal VoIP device capabilities to a large corporate network such as corporate headquarters with many employees and with very capable and possibly redundant VoIP devices to execute application function requests.
Therefore, there is a need for a system and method to translate high level voice function requests, e.g., from software applications, to lower level actions necessary to accomplish the high level request. It is further desirable to hide the details of where lower level actions are executed and provide greater availability of the service by choosing from a set possible resources to accomplish the requested function.